\hypertarget{class_controller_selector_controller}{
\section{ControllerSelectorController Class Reference}
\label{class_controller_selector_controller}\index{ControllerSelectorController@{ControllerSelectorController}}
}


{\ttfamily \#include $<$ControllerSelectorController.hpp$>$}

Inheritance diagram for ControllerSelectorController:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_controller_selector_controller}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_controller_selector_controller_aa19176ab49264426bddb22fc91fd79ac}{ControllerSelectorController} (\hyperlink{class_human_digital_input}{HumanDigitalInput} \&upInput, \hyperlink{class_human_digital_input}{HumanDigitalInput} \&downInput, \hyperlink{class_value_output}{ValueOutput}$<$ std::string $>$ \&valueOutput)
\item 
\hyperlink{class_controller_selector_controller_aaa766bfde4806fce29b494d5c4121530}{ControllerSelectorController} (DriverStationEnhancedIO \&driverStationIo, UINT32 buttonUp, UINT32 buttonDown, \hyperlink{class_value_output}{ValueOutput}$<$ std::string $>$ \&valueOutput)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_controller_selector_controller_a61786bb11f74da0cc7b0fc213df8932e}{
virtual void {\bfseries HandleItemAdded} (\hyperlink{class_robot_controller}{RobotController} $\ast$controller)}
\label{class_controller_selector_controller_a61786bb11f74da0cc7b0fc213df8932e}

\item 
\hypertarget{class_controller_selector_controller_aa5e24627d3874fade3154864318e9267}{
virtual void {\bfseries HandleItemSelectedImpl} (\hyperlink{class_robot_controller}{RobotController} $\ast$controller)}
\label{class_controller_selector_controller_aa5e24627d3874fade3154864318e9267}

\item 
\hypertarget{class_controller_selector_controller_a3252f3106e4ea0693e2d16e926a1e5e4}{
virtual void {\bfseries HandleItemUnselectedImpl} (\hyperlink{class_robot_controller}{RobotController} $\ast$controller)}
\label{class_controller_selector_controller_a3252f3106e4ea0693e2d16e926a1e5e4}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The \hyperlink{class_controller_selector_controller}{ControllerSelectorController} selects a \hyperlink{class_robot_controller}{RobotController} to be active from a list based on some input.

When \hyperlink{class_controller_selector_controller}{ControllerSelectorController} selects a new \hyperlink{class_robot_controller}{RobotController}, it deactivated the one that was previously selected (if any), and activates the newly select one.

This is useful for switching driving modes based on the driver's preference.

Testing shows this class mostly works. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_controller_selector_controller_aa19176ab49264426bddb22fc91fd79ac}{
\index{ControllerSelectorController@{ControllerSelectorController}!ControllerSelectorController@{ControllerSelectorController}}
\index{ControllerSelectorController@{ControllerSelectorController}!ControllerSelectorController@{ControllerSelectorController}}
\subsubsection[{ControllerSelectorController}]{\setlength{\rightskip}{0pt plus 5cm}ControllerSelectorController::ControllerSelectorController (
\begin{DoxyParamCaption}
\item[{{\bf HumanDigitalInput} \&}]{upInput, }
\item[{{\bf HumanDigitalInput} \&}]{downInput, }
\item[{{\bf ValueOutput}$<$ std::string $>$ \&}]{valueOutput}
\end{DoxyParamCaption}
)}}
\label{class_controller_selector_controller_aa19176ab49264426bddb22fc91fd79ac}
Constructor for \hyperlink{class_controller_selector_controller}{ControllerSelectorController}.


\begin{DoxyParams}{Parameters}
{\em upInput} & Input for selecting up the list. User is still reposible for deletion of parameter. \\
\hline
{\em downInput} & Input for selecting down the list. User is still reposible for deletion of parameter. \\
\hline
{\em valueOutput} & Value output for outputing the name of the selected controller. \\
\hline
\end{DoxyParams}
\hypertarget{class_controller_selector_controller_aaa766bfde4806fce29b494d5c4121530}{
\index{ControllerSelectorController@{ControllerSelectorController}!ControllerSelectorController@{ControllerSelectorController}}
\index{ControllerSelectorController@{ControllerSelectorController}!ControllerSelectorController@{ControllerSelectorController}}
\subsubsection[{ControllerSelectorController}]{\setlength{\rightskip}{0pt plus 5cm}ControllerSelectorController::ControllerSelectorController (
\begin{DoxyParamCaption}
\item[{DriverStationEnhancedIO \&}]{driverStationIo, }
\item[{UINT32}]{buttonUp, }
\item[{UINT32}]{buttonDown, }
\item[{{\bf ValueOutput}$<$ std::string $>$ \&}]{valueOutput}
\end{DoxyParamCaption}
)}}
\label{class_controller_selector_controller_aaa766bfde4806fce29b494d5c4121530}
Constructor for \hyperlink{class_controller_selector_controller}{ControllerSelectorController}.


\begin{DoxyParams}{Parameters}
{\em driverStationIo} & Driver station IO. User is still reposible for deletion of parameter. \\
\hline
{\em buttonUp} & Channel number for button for selecting up the list. \\
\hline
{\em buttonDown} & Channel number for button for selecting down the list. \\
\hline
{\em valueOutput} & Value output for outputing the name of the selected controller. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Documents and Settings/Sam/My Documents/My Projects/Entech-\/Fpk/Entech-\/Fpk/ControllerSelectorController.hpp\item 
C:/Documents and Settings/Sam/My Documents/My Projects/Entech-\/Fpk/Entech-\/Fpk/ControllerSelectorController.cpp\end{DoxyCompactItemize}
